home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / Projects / Examples / Setups / Using sound-sets in def-section < prev    next >
Text File  |  1998-10-26  |  3KB  |  117 lines

  1. def-sound-set set <groups/instruments/programs>
  2.  
  3. Defines a sound-set set that consists of instruments
  4. and their corresponding MIDI program numbers. The following
  5. defines a example-set with groups piano, bass and effects
  6. each having several instruments. This example-set can
  7. be browsed from the Midi menu. 
  8.  
  9. (def-sound-set example-set
  10.    group piano
  11.    acoustic-grand-piano   1
  12.    bright-acoustic-piano  2
  13.    electric-grand-piano   3
  14.  
  15.    group bass
  16.    ebass-1                4
  17.    ebass-2                5
  18.  
  19.    group effects
  20.    breaking-glass         6
  21.    voices                 7
  22. )
  23.  
  24. If you use the example-set within def-program:
  25.  
  26. (def-program example-set
  27.    piano electric-grand-piano
  28. )
  29.  
  30. Then the resulting MIDI file adjust the program to patch 3.
  31.  
  32. Using Banks
  33.  
  34. Some synths have several sound banks. Before program change
  35. will take place also the sound bank must be selected. There
  36. are two ways to achieve this. Check you synth manual how it
  37. does operate.
  38.  
  39. Multiple Program Changes
  40.  
  41. If your synth responds to successive program changes so that
  42. first one selectes the bank and the next selects the program
  43. define the sounds with (multi <bank> <program>).
  44.  
  45. (def-sound-set K2000 
  46.   group Klavier1
  47.         dual-elec-piano        (multi 100 52)
  48.         tine-elec-piano        (multi 100 12)
  49.         digital-epiano         (multi 100 92)
  50.         stereo-grand           (multi 100 2)
  51.         bright-piano           (multi 100 42)
  52.         piano&slo-strings      (multi 100 22)
  53.         piano/slow-strings     (multi 101 2)
  54.         perc-organ             (multi 100 82)
  55.         gospel-organ           (multi 100 62)
  56.         ballad-organ           (multi 101 22)
  57. )
  58.  
  59. If your synth responds to controller 32 to select bank you 
  60. should use (bank <bank> <program>).
  61.  
  62. (def-sound-set mu80-sounds
  63.   group Piano
  64.         GrandPno       (bank 0 1) 
  65.         BritePno       (bank 0 2) 
  66.         E-Grand        (bank 0 3) 
  67.         HnkyTonk       (bank 0 4) 
  68.         E-Piano1       (bank 0 5) 
  69.         E-Piano2       (bank 0 6) 
  70.         Harpsi         (bank 0 7) 
  71.         Clavi          (bank 0 8) 
  72.         Celesta        (bank 0 9) 
  73. )
  74.  
  75. Accessing sound-sets in def-section
  76.  
  77. Here is an easy way to access sound-sets within def-section. 
  78. def-sound-set creates a k2000 macro that lets to return the 
  79. program number hooked to it. If you want to change programs
  80. note by note you can use more than one drum names within
  81. the macro. If each zone must have it's own program values
  82. use (append .. ..) to build a suitable formed list.
  83.  
  84. ; Score example
  85.  
  86. (def-orchestra 'orchestra
  87.    all-instruments (piano synth bass)
  88. )
  89.  
  90. (def-section sect-a
  91.    default
  92.       zone '(1/1 1/1)
  93.       tonality (activate-tonality (major c 4))
  94.       length '(1/16)
  95.       velocity '(64)
  96.       symbol '(a b c)
  97.    piano 
  98.       channel 1
  99.       program (k2000 dual-elec-piano tine-elec-piano) 
  100.    synth
  101.       channel 2
  102.       program (k2000 new-prophet) 
  103.    bass
  104.       channel 3
  105.       program (append (k2000 dual-elec-piano) 
  106.                     (k2000 tine-elec-piano)) 
  107. )
  108.  
  109. (def-tempo 120)
  110.  
  111. (midiport :printer)
  112.  
  113. (play-file-p "test2"
  114.    all-instruments '(sect-a)
  115. )
  116.  
  117.